#ifndef _NE_EVENT_H_
#define _NE_EVENT_H_

#include <neinit.h>

namespace ne
{
    class Event
    {
        public:
            explicit Event(const std::string &n)
                : name(n)
            {
            }

            Event(const Event &e)
                : name(e.name)
            {
            }

            Event& operator = (const Event &e)
            {
                name = e.name;
                return *this;
            }

            virtual const std::type_info& type() const
            {
                return typeid(*this);
            }

            virtual ~Event()
            {
            }

        private:
            Event();

        public:
            std::string name;
    };
}

#endif
